package com.example.pacman;

import java.util.ArrayList;
import java.util.Random;

import personnage.*;
import labyrinthe.*;
import labyrinthe.grille.*;
import vue2D.*;

import com.example.pacman.util.SystemUiHider;

import android.app.Activity;

import android.os.Bundle;


/**
 * An example full-screen activity that shows and hides the system UI (i.e.
 * status bar and navigation/system bar) with user interaction.
 *
 * @see SystemUiHider
 */
public class PacmanActivity extends Activity {

    
    
    
    /**
     * Spécifique au jeu
     */
 	static ArrayList<PersonnageDefaut> personnages;
 	static ArrayList<String> levels;
 	static LabyrintheGrille labyrinthe;
 	private Dessin dessin = null;
 	static PersonnageDefaut pacman; 
 	static Random choixNiveau = new Random();
 	static int nbMonstres=4;
 
 	
 	/**
	 * Permet d'initialiser le jeu lors du changement de labyrinthe
	 * @param labyrintheChoix
	 * 			Le niveau choisi
	 */
	public static void initialisation()
	{
	
		
		labyrinthe = new LabyrintheGrilleDefaut();
		personnages= new ArrayList<PersonnageDefaut>();

		//bob
		pacman = new PersonnageDefaut(125, 40, 255);
		pacman.setDeplacementPossible(true);
		labyrinthe.entrer(pacman);
		Salle s = pacman.getPosition();
		pacman.xpix = ((SalleCarree) s).getColonne()*Dessin.unite;
		pacman.ypix = ((SalleCarree) s).getLigne()*Dessin.unite;
	
		
		personnages.add(new Monstre(0,255,13));
		personnages.add(new Monstre(255,0,166));
		personnages.add(new Monstre(255,140,0));
		personnages.add(new Monstre(0,200,255));
	
		//monstres 
		Random generateur = new Random();
		for(final PersonnageDefaut m : personnages)
		{
			int h,l;
			Salle sa = null;
	    	do
	    	{ 
	    		h = generateur.nextInt(labyrinthe.getHauteur());
	    		l = generateur.nextInt(labyrinthe.getLargeur());
	    		sa = ((LabyrintheGrilleDefaut) labyrinthe).getSalleCarree(h,l);
	    	} 
	    	while (sa==null);
	    	
	    	m.setPosition(sa);
	    	m.xpix = ((SalleCarree) sa).getColonne()*Dessin.unite;
			m.ypix = ((SalleCarree) sa).getLigne()*Dessin.unite; 
		}
	}

    @Override
    //Création de l'activité
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        
        initialisation();
        
		dessin = new Dessin(labyrinthe, pacman, personnages, this);
      
		setContentView(dessin);
 
        
        
    }

    @Override
    protected void onPostCreate(Bundle savedInstanceState) {
        super.onPostCreate(savedInstanceState);

        // Trigger the initial hide() shortly after the activity has been
        // created, to briefly hint to the user that UI controls
        // are available.
   
    }

}
